<?php
	
/*
 * Modelo: "stocks.php"
 *
 * Realizado por:
 * 	Carlos Calvo.
 */
 
	@include_once('sybasebd.php');
	@include_once('auditoria.php');
	
	class Stocks {
					
		// Variables del Modelo
		var $id_material;
		var $id_sede;
		var $cantidad;					
		var $respuesta;
		
		
		//	FUNCION - VERIFICAR STOCK
		// =================================================================================================================
		function verificar_stock( $id_material, $id_sede ) {		
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select id_material as id_material,
						id_sede as id_sede
					from stock 
					where id_material = ".$id_material." and 
						id_sede = ".$id_sede;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar el Stock.");
			$this->respuesta = $conexion->fetch_array_BD();
			
			$conexion->desconectar_BD;			
			if ( $this->respuesta[id_material] != "" && $this->respuesta[id_sede] != "" ) {				
				return false;					// Si Existe
			} else {		
				return true;					// Si no Existe
			}
		}
		
		
		//	FUNCION - INSERTAR STOCK
		// =================================================================================================================
		
		function insertar( $id_material, $id_sede, $cantidad ) {			
			$ocurrencia = $this->verificar_stock( $id_material, $id_sede );
			
			if ( $ocurrencia == true ) {						
				$conexion = new Sybasebd;
				$var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
							
				$sql = "insert into stock (id_material, id_sede, cantidad) values (";
				
				$sql = $sql.$id_material.", ";
				$sql = $sql.$id_sede.", ";
				$sql = $sql.$cantidad.")";
								
				//echo "<br>SQL: ".$sql."<br>";
				$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo agregar el Stock ".$id_material." - ".$id_sede.".");
												
				// Registro de Auditoria
				$auditoria 	= new Auditorias;
				$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "23" );
							
				$conexion->desconectar_BD;												
				return true;
			} else {
				return false;
			}
		}
		
		
		//	FUNCION - MODIFICAR STOCK
		// =================================================================================================================
				
		function modificar( $id_material, $id_sede, $cantidad ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "update stock set 
						cantidad = ".$cantidad." 
					where id_material = ".$id_material." and 
						id_sede = ".$id_sese;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo modificar el Stock ".$id_material." - ".$id_sede.".");
			
			$conexion->desconectar_BD;			
			return true;
		}
		
		
		//	FUNCION - CONSULTAR TODOS LOS STOCKS
		// =================================================================================================================
		
		function consultar( $id_material, $id_sede ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select st.id_material as id_material,
						st.id_sede as id_sede,
						m.nombre as nombre_material,
						s.nombre as nombre_sede,
						st.cantidad as cantidad 
					from stock as st,
						material as m,
						sede as s 
					where ";
			
			if ( $id_material != "T" ) {
				$sql = $sql."st.id_material = ".$id_material." and ";
			}
			
			if ( $id_sede != "T" ) {
				$sql = $sql."st.id_sede = ".$id_sede." and ";
			}
			
			$sql = $sql."st.id_material = m.id_material and 
						st.id_sede = s.id_sede
					order by st.id_material, st.id_sede";
									
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Stocks.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_stocks[$i][0] = $this->respuesta[id_material];
				$lista_stocks[$i][1] = $this->respuesta[id_sede];
				$lista_stocks[$i][2] = $this->respuesta[nombre_material];
				$lista_stocks[$i][3] = $this->respuesta[nombre_sede];	
				$lista_stocks[$i][4] = $this->respuesta[cantidad];			
				$i++;
			}
			
			// Registro de Auditoria
			$auditoria 	= new Auditorias;
			$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "24" );
			
			$conexion->desconectar_BD;
			return $lista_stocks;
		}
		
		
		//	FUNCION - ELIMINAR UN STOCK
		// =================================================================================================================
				
		function eliminar( $id_material, $id_sede ) {			
			$conexion = new Sybasebd;
			$var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "delete from stock
					where id_material = ".$id_material." and 
						id_sede = ".$id_sede;
															
			echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo Eliminar el Stock ".$id_material." - ".$id_sede.".");
			
			// Registro de Auditoria
			$auditoria 	= new Auditorias;
			$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "25" );
			
			$conexion->desconectar_BD;		
			return true;
		}
		
		
		//	FUNCION - CONSULTAR UN STOCK
		// =================================================================================================================
		
		function consultar_stock( $id_material, $id_sede ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
									
			$sql = "select id_material as id_material, 
						id_sede as id_sede,
						cantidad as cantidad
					from stock 
					where id_material = ".$id_material." and 
						id_sede = ".$id_sede;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar el Stock ".$id_material." - ".$id_sede.".");			
			$this->respuesta = $conexion->fetch_array_BD();
				$info_stock[0] = $this->respuesta[id_material];
				$info_stock[1] = $this->respuesta[id_sede];	
				$info_stock[2] = $this->respuesta[cantidad];
			
			$conexion->desconectar_BD;			
			return $info_stock;
		}
		
		
		//	FUNCION - CONSULTAR STOCKS PARA ELIMINAR
		// =================================================================================================================
		
		function consultar_eliminar() {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select st.id_material as id_material,
						st.id_sede as id_sede, 
						m.nombre as nombre_material,
						s.nombre as nombre_sede
					from stock as st,
						material as m, 
						sede as s 
					where st.cantidad = 0 and 
						st.id_material = m.id_material and 
						st.id_sede = s.id_sede ";
						
			echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Stocks para Eliminar.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_eliminar[$i][0] = $this->respuesta[id_material];
				$lista_eliminar[$i][1] = $this->respuesta[id_sede];	
				$lista_eliminar[$i][2] = $this->respuesta[nombre_material];
				$lista_eliminar[$i][3] = $this->respuesta[nombre_sede];	
				$i++;
			}				
			
			$conexion->desconectar_BD;			
			return $lista_eliminar;
		}		
	}
?>